package look4ss.aplicativo.fragments;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.pixplicity.fontview.FontAppCompatTextView;
import com.squareup.picasso.Picasso;
import java.text.SimpleDateFormat;
import java.util.concurrent.TimeUnit;
import look4ss.aplicativo.ActivityApagar;
import look4ss.aplicativo.ActivityDetalhes;
import look4ss.aplicativo.ActivityPerfilUsuario;
import look4ss.aplicativo.R;
import look4ss.aplicativo.variaveisGlobais;

import static android.content.Context.MODE_PRIVATE;

public class AbaInfos extends Fragment {
    public static String nome, datahora, idUsuario, nome_pessoa, id, testeid;
    public static int n;
    private TextView botao_excluir, enviado_por;
    private ImageView foto_usuario;
    public Context context;
    public SharedPreferences sharp;
    public final String usuario_foto = variaveisGlobais.urlFotosPerfilFirebase + idUsuario + ".jpg?alt=media";

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_aba_info, container, false);
        botao_excluir = v.findViewById(R.id.botao_apagar);
        ((FontAppCompatTextView) v.findViewById(R.id.nome)).setText(nome);
        SimpleDateFormat sdf = new SimpleDateFormat("E, dd/MM/yyyy" + " '" + getString(R.string.as_horas) + "' " + "kk:mm");
        long datahora_long = Long.valueOf(datahora).longValue();
        String datahora_formatado = sdf.format(datahora_long);
        long milis = System.currentTimeMillis();
        long tempoatras_ms = milis - datahora_long;
        long tempoatras_convt = TimeUnit.MILLISECONDS.toSeconds(tempoatras_ms);
        String tempoatras = tempoatras_convt + " " + getResources().getString(R.string.segundos);
        if (tempoatras_convt > 60 && tempoatras_convt < 120) {
            tempoatras_convt = TimeUnit.MILLISECONDS.toMinutes(tempoatras_ms);
            tempoatras = tempoatras_convt + " " + getResources().getString(R.string.minuto);
        }
        if (tempoatras_convt > 120 && tempoatras_convt < 3600) {
            tempoatras_convt = TimeUnit.MILLISECONDS.toMinutes(tempoatras_ms);
            tempoatras = tempoatras_convt + " " + getResources().getString(R.string.minutos);
        }
        if (tempoatras_convt > 3600 && tempoatras_convt < 7200) {
            tempoatras_convt = TimeUnit.MILLISECONDS.toHours(tempoatras_ms);
            tempoatras = tempoatras_convt + " " + getResources().getString(R.string.hora);
        }
        if (tempoatras_convt > 7200 && tempoatras_convt < 86400) {
            tempoatras_convt = TimeUnit.MILLISECONDS.toHours(tempoatras_ms);
            tempoatras = tempoatras_convt + " " + getResources().getString(R.string.horas);
        }
        if (tempoatras_convt > 86400 && tempoatras_convt < 172800) {
            tempoatras_convt = TimeUnit.MILLISECONDS.toDays(tempoatras_ms);
            tempoatras = tempoatras_convt + " " + getResources().getString(R.string.dia);
        }
        if (tempoatras_convt > 86400) {
            tempoatras_convt = TimeUnit.MILLISECONDS.toDays(tempoatras_ms);
            tempoatras = tempoatras_convt + " " + getResources().getString(R.string.dias);
        }
        String enviado_por_string = getResources().getString(R.string.enviado_por_);
        String enviado_em_string = getResources().getString(R.string.enviado_em_);
        ((FontAppCompatTextView) v.findViewById(R.id.datahora)).setText(enviado_em_string + " " + datahora_formatado + (" (" + tempoatras + " " + getString(R.string.atras)+ ")"));
        ((TextView) v.findViewById(R.id.enviado_por)).setText(enviado_por_string + " " + nome_pessoa + " ");
        enviado_por = v.findViewById(R.id.enviado_por);
        foto_usuario = v.findViewById(R.id.foto_usuario);
        Picasso.get().load(usuario_foto).fit().into(foto_usuario);
        ActivityVerEnviosDoUsuario();
        return v;
    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        try {
            if (nome_pessoa.equals("") | usuario_foto.equals("")) {
                foto_usuario.setVisibility(View.GONE);
                enviado_por.setVisibility(View.GONE);
            }

            sharp = this.getActivity().getSharedPreferences("loginPrefs", MODE_PRIVATE);
            if (sharp.getString("email", "").equals(variaveisGlobais.adminEmail) || sharp.getString("uid", "").equals(idUsuario)) {
                botao_excluir.setVisibility(View.VISIBLE);
                botao_excluir.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        startActivity(new Intent(getActivity(), ActivityApagar.class));
                    }
                });
            }
        } catch (NullPointerException npe) {
        }
    }

    public void ActivityVerEnviosDoUsuario() {
        foto_usuario.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(getActivity(), ActivityPerfilUsuario.class);
                for (int i = 0; i < 24; i++) {
                    if (testeid.equals("m" + i)) {
                        ActivityDetalhes.Info.num = i;
                        ActivityPerfilUsuario.n = i;
                    }
                }
                AbaInfos.this.startActivity(intent);
            }
        });
    }
}